package com.pactera.integral.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.pactera.integral.common.repository.ResultMap;
import com.pactera.integral.entity.PerformanceScore;
import com.pactera.integral.entity.UserPerformanceScore;

public interface PerformanceScoreService {

	/**
	 * 添加或修改积分项
	 * 
	 * @param performanceScore
	 * @throws Exception
	 */
	void save(PerformanceScore performanceScore) throws Exception;

	/**
	 * 删除积分向
	 * 
	 * @param performanceScoreId
	 * @return Boolean
	 */
	Boolean delete(String performanceScoreId);

	/**
	 * 积分向列表
	 * 
	 * @param param
	 * @param page
	 * @return Page<PerformanceScore>
	 */
	Page<PerformanceScore> pagePerformanceScore(Map<String, Object> param, Pageable page);

	/**
	 * 积分向明细
	 * 
	 * @param id
	 * @return PerformanceScore
	 */
	PerformanceScore getperformanceScore(String id);

	public List<List<PerformanceScore>> getListForShow();

	public Boolean addScore(String staffId, List<UserPerformanceScore> userPerformanceScore);

	public String checkUserPerformanceScore(String staffId, String month, String year);

	public List<ResultMap<String, Object>> getScoreHistory(String staffId);

	public List<ResultMap<String, Object>> getUserId(String staffId,String userName, String year, String month);

	public List<ResultMap<String, Object>> getDetailForShow(String staffId, String year, String month);
}
